#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int  Get(int pa)
//{
//	if (pa <= 2)
//		return 1;
//	else
//		return Get(pa - 1) + Get(pa - 2);
//}


//int Get(int pa)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (pa >= 3)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		pa--;
//	  }
//	return c;
//}
//
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	int sum = Get(a);
//	printf("%d", sum);
//	return 0;
//}

//
//void Get(int x)
//{
//	if (x > 9)
//	{
//		Get(x / 10);
//	}
//	printf("%d ", x);
//}
//int main()
//{
//	int i = 0;
//	scanf("%d", &i);
//	Get(i);
//	return 0;
//}


//int  DigitSum(int a)
//{
//	if (a < 9)
//		return  DigitSum(a / 10) + (a % 10);
//	else
//		return a;
//}
//
//
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	int p = DigitSum(&a);
//	printf("%d", p);
//	return 0;
//}



//int my_strlen(char* arr)
//{
//	if (*arr != '\0')
//	{
//		return 1 + my_strlen(arr + 1);
//	}
//	else
//	{
//		return 0;
//	}
//}
//
//
//#include<string.h>
//void  reverse_string(char* pa)
//{
//	int left = 0;
//	int right = my_strlen(pa) - 1;
//	*(pa + left);
//	*(pa + right);
//	while (left < right)
//	{
//		int tmp = 0;
//		tmp = *(pa + left);
//		*(pa + left) = *(pa + right);
//		*(pa + right) = tmp;
//		left++;
//		right--;
//	}
//
//}
//
//
//int main()
//{
//	char arr[] = "abcdef";
//	reverse_string(arr);
//	printf("%s", arr);
//	return 0;
//}

//int  Get(char* pa)
//{
//	if (*pa != '\0')
//	{
//		return 1 + Get(pa + 1);
//	}
//	else
//	{
//		return 0;
//	}
//
//
//}
//
//int main()
//{
//	char arr[] = "abcdef";
//	int a = Get(arr);
//	printf("%d ", a);
//	return 0;
//}


//
//int  DigitSum(int a)
//{
//	if (a < 9)
//		return  DigitSum(a % 10) + a / 10;
//	else
//		return a;
//}
//
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//
//	int p = DigitSum(a);
//	printf("%d", p);
//	return 0;
//}


void Get(int x)
{
	if (x > 9)
	{
		Get(x / 10);
	}
	printf("%d ", x%10);
}
int main()
{
	int i = 0;
	scanf("%d", &i);
	Get(i);
	return 0;
}